package com.dkd.manage.mapper;

import java.util.List;

import com.dkd.manage.domain.Job;
import com.dkd.manage.domain.Task;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

/**
 * 运营工单Mapper接口
 * 
 * @author zzg
 * @date 2025-03-04
 */
@Mapper
public interface TaskMapper 
{
    /**
     * 查询运营工单
     * 
     * @param taskId 运营工单主键
     * @return 运营工单
     */
    public Task selectTaskByTaskId(Long taskId);

    /**
     * 查询运营工单列表
     * 
     * @param task 运营工单
     * @return 运营工单集合
     */
    public List<Task> selectTaskList(Task task);

    @Select("select count(*) from tb_task where task_code like concat(#{taskCode},'%')")
    public int selectCountByTaskCode(String taskCode);
    /**
     * 新增运营工单
     * 
     * @param task 运营工单
     * @return 结果
     */
    public int insertTask(Task task);

    /**
     * 修改运营工单
     * 
     * @param task 运营工单
     * @return 结果
     */
    public int updateTask(Task task);

    /**
     * 删除运营工单
     * 
     * @param taskId 运营工单主键
     * @return 结果
     */
    public int deleteTaskByTaskId(Long taskId);

    /**
     * 批量删除运营工单
     * 
     * @param taskIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTaskByTaskIds(Long[] taskIds);

    /**
     * 获取补货警戒线
     */
    @Select("select alert_value from tb_job where id = #{id}")
    public int selectReplenishmentLine(Long id);

    /**
     * 修改补货警戒线
     * @param job
     * @return
     */
    @Update("update tb_job set alert_value = #{alertValue} where id = #{id}")
    int updateReplenishmentLine(Job job);
}
